Вказівники

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Програмування

Частина тексту файла

Міністерство освіти і науки України Хмельницький національний університет Кафедра системного програмування Лабораторна робота №1 з програмування на тему: «Вказівники» Лабораторна робота №1 Тема: вказівники. Мета: навчитися програмувати з використанням вказівників та динамічних змінних, створювати та опрацьовувати черги та стеки. Завдання Дано число D і «покажчики» P1 й P2 на початок і кінець черги (якщо черга порожня, то P1=P2=nil). Записати елемент зі значенням D у кінець черги та вивести нові адреси початку і кінця черги. uses crt; type vkaz=^cherga; cherga=record num:integer; next:vkaz end; procedure add(var a:vkaz); var temp:vkaz; begin new(temp); temp^.next:=a; temp^.num:=random(100); a:=temp; end; procedure addnew(var a:vkaz; D:integer); var temp:vkaz; begin new(temp); temp^.next:=a; temp^.num:=D; a:=temp; end; function tail(a:vkaz):vkaz; begin while a<>nil do begin tail:=a; a:=a^.next; end; end; procedure create(var a,p1,p2:vkaz; var n:integer); var i:integer; begin write('vvedit kilkist chysel: '); readln(n); if n<>0 then begin for i:=1 to n do begin add(a); write(a^.num,' '); if i=1 then p1:=a; a:=a^.next; end; p2:=tail(a); writeln; writeln('pochatok: ',seg(p1^),ofs(p1^)); writeln('kinets: ',seg(p2^),ofs(p2^)); end else writeln('pochatok i kinets = NIL'); end; procedure newP(var a,p1,p2:vkaz; n:integer); begin if n=0 then p1:=a; p2:=tail(a); writeln('pochatok: ',seg(p1^),ofs(p1^)); writeln('kinets: ',seg(p2^),ofs(p2^)); end; procedure free(var a:vkaz; p1:vkaz); var temp:vkaz; begin a:=p1; while a<>nil do begin temp:=a; a:=a^.next; dispose(temp); end; end; var el,p1,p2:vkaz; n,d:integer; begin clrscr; randomize; create(el,p1,p2,n); write('vvedit chyslo D: '); readln(d); addnew(el,d); newP(el,p1,p2,n); free(el,p1); repeat until keypressed end. // Висновок. Виконавши лабораторну роботу, я навчився працювати з вказівниками та динамічними змінними, створювати черги та додавати нові елементи, виділяти пам'ять для динамічних змінних та звільняти її, а також виводити адреси початку та кінця черги.
Антиботан аватар за замовчуванням

28.03.2013 22:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини